Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Open Sud de France - Montpellier Qatar ExxonMobil Open - Doha Bordeaux Challenger Nottingham 2 Challenger U.S. Open - New York Porto Challenger Portugal F1 Portugal F2 Portugal F3 Bulgaria-w1 Bulgaria-w2 Bulgaria-w3 Bulgaria-w4 Romania F8 Romania F10 Spain F17 Spain F18 Istanbul Challenger Portugal #1-w2 Portugal #1-w3 Brazil F10 Brazil F11 Portugal F3 Italy F5 Italy F6 Italy F7 Bulgaria-w2 Bulgaria-w3 France F8 France F9 Venezuela F5 Venezuela F6 France F4 France F5 Romania F4 Portugal F7 Morocco F1 Morocco F2 France F18 France F19 France F21 France F2 Portugal F1 Portugal F2 Portugal F3 France F4 France F5 Turkey F8 Turkey F9 Turkey F15 Turkey F16 Portugal F6 Italy F20 Spain F22 Turkey F31 Turkey F32 Portugal F8 Portugal F9 France F12 France F14 Turkey F7 France F20 Turkey F25 Portugal F10 Spain F21 Italy F28 Tunisia F9 Tunisia F10 Tunisia F1 Tunisia F2 France F3 Tunisia F5 Portugal F1 France F4 Portugal F2 Portugal F3 Morocco F2 Morocco F3 Spain F7 Greece F3 Italy F6 Tunisia F15 Israel F4 Israel F5 Portugal F4 Portugal F5 Turkey F19 Portugal F6 Turkey F20 India F8 India F9 India F10 France F14 Portugal F9 Portugal F10 Slovakia F2 Portugal F11 Serbia F7 Italy F23 Switzerland F4 France F20 Portugal F13 Kuwait F1 Kuwait F2 France F7 Germany F1 Tunisia F1 France F2 France F3 Tunisia F4 Tunisia F6 Portugal F1 Italy F1 Italy F2 Portugal F3 Tunisia F12 Tunisia F13 Tunisia F14 Tunisia F15 Portugal F3 Portugal #1-w1 Morocco F5 Portugal #1-w4 Portugal F4 Tunisia F5 Tunisia F6 Portugal F1 Portugal F5 Portugal F6 Bulgaria-w1 Bulgaria-w4 Greece F4 Portugal F7 Spain F15 Tunisia F21 Spain F18 Nigeria F1 Nigeria F2 Germany F5 Spain F19 Spain F20 Turkey F27 Poland F4 Portugal F8 Portugal F9 Spain F24 Romania F12 Italy F25 Switzerland F3 Italy F26 France F18 Tunisia F23 France F19 France F20 France F21 Portugal F12 Tunisia F27 Bulgaria F4 Tunisia F28 Norway F2 Tunisia F29 Norway F3 Tunisia F30 Tunisia F31 Tunisia F32 Turkey F47 France F3 (Veigy-Foncenex) Great Britain F1 (Glasgow) Great Britain F2 (Tipton) Italy F2 (Trento) Portugal F1 (Vale Do Lobo) Tunisia F2 Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Lisbon) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) France F8 (La Grande Motte) Portugal F7 (Carcavelos) Italy F10 (Santa Margherita Di Pula) Sweden F1 (Karlskrona) Sweden F2 (Bastad) Spain F16 (Huelva) Israel F10 (Kiryat Shmona) Portugal F8 (Lisbon) Israel F11 (Herzlia) Israel F12 (Tel Aviv) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Ireland F2 (Dublin) Spain F23 (Xativa) Portugal F14 (Porto) Belarus F2 (Minsk) Belarus F3 (Minsk) Portugal F17 (Sintra) Italy F27 (Piombino) Portugal F18 (Sintra) France F19 (Mulhouse) Spain F29 (Sevilla) Spain F22 (Denia) Portugal F19 (Castelo Branco) Portugal F20 (Oliveira De Azemeis) France F21 (Forbach) Portugal F21 (Idanha-a-Nova) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Italy F36 (Santa Margherita Di Pula) Malaysia F3 (Kuala Lumpur) Tunisia F36 (Hammamet) Tunisia F37 (Hammamet) USA F3 (Naples) USA F4 (Sunrise) France F3 (Veigy-Foncenex) USA F5 (Weston) USA F6 (Palm Coast) Switzerland F2 (Bellevue) Portugal F1 (Vale Do Lobo) Italy F1 (Trento) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Italy F11 (Napoli) Romania F2 (Bacau) Spain F14 (Huelva) Italy F13 (Padova) Portugal F9 (Povoa de Varzim) Portugal F10 (Setubal) Spain F17 (Bakio) Portugal F11 (Castelo Branco) France F13 (Ajaccio) Portugal F12 (Porto) Portugal F13 (Caldas Da Rainha) Portugal F14 (Sintra) Portugal F15 (Sintra) Portugal F16 (Sintra) Tunisia F31 (Monastir) Portugal F17 (Setubal) Portugal F18 (Oliveira De Azemeis) Portugal F19 (Idanha-a-Nova) Portugal F20 (Idanha-a-Nova) Portugal F21 (Sao Bras de Alportel) Portugal F22 (Tavira) Tunisia F41 (Monastir) Tunisia F42 (Monastir) Tunisia F43 (Monastir) Tunisia F45 (Monastir) M15 Veigy-Foncenex Romania F9 M25 Barnstaple M15 Vale Do Lobo M25 Trento M15 Faro M15 Toulouse M15 Loule M15 Poitiers M15 Portimao M15 Quinta Do Lago M15 Cancun M15 Reus M15 Cancun M15 Madrid M15 Cancun M25 Vic M25 Gyula M15 Majadahonda M15 Tabarka M25 Huelva M15 Setubal M25 Bakio M15 Idanha-A-Nova M25+H Ajaccio M15 Idanha-A-Nova M15 Castelo Branco M25 Porto M15 Sintra M15 Sintra M25+H Oliveira De Azemeis M25 Tavira M25 Saint Dizier M25 Bakio M25 Quinta Do Lago M25 Portimao France F20 (Plaisir) Tunisia F11 Morocco Tennis Tour - Casablanca Kos-Zucchetti Tennis Cup - Cordenons Arpa Ceramic Cup - Reggio Emilia Porsche Open - Poznan Internationaux du Doubs - Besancon Challenger DCNS de Cherbourg - Cherbourg Concurso Internacional de Vigo - Vigo Tennis Napoli Cup - Napoli Morocco Tennis Tour - Rabat Akbank Private Banking TED Open 2006 - Istanbul Copa Petrobras Paraguay - Asuncion Morocco Tennis Tour - Marrakech Memorial A. Manfredini Sassuolo Challenger - Sassuolo Baden Open - Karlsruhe Siemens Open - Scheveningen Porsche Open - Poznan Copa Petrobras Uruguay - Montevideo Akbank Private Banking TED Open - Istanbul M25 Setubal Bancolombia Open - Cali Copa Petrobras - Bogota Tunisia F6 Abierto Internacional Varonil Ciudad de Cancun - Cancun Challenger Copa Sevilla - Seville Maia Open 2002 - Maia Switzerland F1 Besancon Challenger Genova Open Challenger - Genova XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Challenger Cudad de Guayaquil - Guayaquil Tunis Challenger Open de Montauban - Montauban Schickedanz Open 2007 - Furth Open Castilla y Leon - Segovia Memorial Manfredini - Sassuolo Seguros Bolivar Open - Medellin Bancastato Challenger Lugano - Lugano Harbour Tennis Cup Regione Lombardia - Milan Italy F5 Turin Challenger Antonio Savoldi-Marco Co. - Manerbio Copa Petrobras Colombia - Bogota Bancolombia Open - Bogota Mitsubishi Electric Europe Cup - Monza Istanbul Challenger Unique Zagreb Open - Zagreb Open de Montauban - Montauban Kos-Zucchetti Tennis Cup - Cordenons Napoli Challenger Copa Sevilla 2007 - Seville Togliatti Cup - Togliatti Orleans Challenger Bukhara Challenger - Bukhara Tunis Open - Tunis Challenger Britania Zavaleta - Puebla Alessandria Challenger Lugano Challenger Milan Challenger Istanbul Challenger Tennis Napoli Cup 2007 - Napoli Tarragona Challenger Seguros Bolivar Open - Medellin Tashkent Challenger Le Gosier Challenger Napoli Challenger Braunschweig Challenger Poznan Challenger Trani Challenger Copa Petrobras Argentina - Buenos Aires Genova Challenger Morocco Tennis Tour - Marrakech Palermo Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Copa Petrobras Argentina - Buenos Aires Lima Challenger 2007 - Lima South African Airways Open - East London Morocco Tennis Tour - Tanger Portugal F10 Quito Challenger Pereira Challenger Turin Challenger Samarkand Challenger San Marino Challenger Caltanissetta Challenger Zenith Tennis Cup-Harbour Club - Milan Sporting Challenger '08-Trofeo Regione Piemonte - Turin Copa Petrobras-Argentina - Buenos Aires Challenger Britania Zavaleta - Puebla Aberto de Santa Catarina - Florianopolis 5° Sporting Challenger - Turin Prostejov Challenger Seville Challenger Copa Petrobras Brazil - Aracaju Morocco Tennis Tour - Rabat Perugia Challenger Braunschweig Challenger Szczecin Challenger Great Britain F3 Nord LB Open 2007 - Braunschweig Open de Montauban - Montauban San Marino Cepu Open - San Marino Cherbourg Challenger Reunion Island Challenger Astana Challenger Segovia Challenger Playford Challenger Sao Paulo Challenger Budapest Challenger Taipei City Challenger Napoli Challenger Cassis Challenger Istanbul 2 Challenger Rome 1 Challenger Surbiton Challenger Braunschweig Challenger Pozoblanco Challenger 12° Tornea B. Camparini Arpa Ceramic Cup - Reggio Emilia Como Challenger Guangzhou Challenger Santo Domingo Challenger St. Remy Challenger Ortisei Challenger Italy F24 Nanchang Challenger 9° Trani Cup - Trani Blois Challenger Milan Challenger Itajai Challenger Canberra Challenger Milan Challenger St. Remy Challenger Lisbon Challenger Germany F15 Oeiras 2 Challenger Lexington Challenger Open Costa Daurada - Tarragona Portugal F9 (Setubal) Aix En Provence Challenger Samarkand Challenger - Samarkand Copa Petrobras Paraguay - Asuncion Roanne Challenger Mallorca Challenger Segovia Challenger St. Brieuc Challenger Bordeaux Challenger Lyon Challenger St. Remy Challenger Astana Challenger Cherbourg Challenger Orleans Challenger Puerto Vallarta Challenger Copa Sevilla Internacionales de Andalucia - Seville Brest Challenger Noumea Challenger Blois Challenger Gwangju Challenger Tunisia F5 Nur-Sultan 1 Challenger Canberra Challenger Portoroz Challenger Milan Challenger Lille Challenger Tunisia F44 (Monastir) St. Tropez Challenger Bergamo Challenger Ilkley Challenger Bergamo Challenger Segovia Challenger Rennes Challenger Lisbon Challenger St. Tropez Challenger Morelia Challenger Pozoblanco Challenger Ho Chi Minh City Challenger Bangalore Challenger Drummondville Challenger Cassis Challenger Orleans Challenger Roanne Challenger Las Vegas Challenger Challenger Britania Zavaleta - Puebla Mouilleron-Le-Captif Challenger Noumea Challenger Braga Challenger Prague Challenger Bratislava Challenger Internationaux de Doubs Open de Franchie-Comte - Besancon Italy F3 (Basiglio) Mallorca Challenger Cassis Challenger Seville Challenger Granby Challenger Pau Challenger Nur-Sultan 2 Challenger Lugano Challenger Cary Challenger Ostrava Challenger Oeiras 3 Challenger Biella 7 Challenger Lyon Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Segovia Challenger Biel Challenger Lyon Challenger Roanne Challenger Orleans Challenger Bendigo Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Forli 5 Challenger Lugano Challenger Sanremo Challenger Bordeaux Challenger Troisdorf Challenger Lyon Challenger Cassis Challenger Bogota Challenger Mouilleron-Le-Captif Challenger Brest Challenger Copa Petrobras Uruguray - Montevideo Stella Artois Clay Court Championships - Budaors Mordovia Cup 2005 - Saransk Koblenz Challenger Challenger Copa Sevilla - Seville Open de la Ville de Saint Denis - Reunion Island Madrid Challenger St. Tropez Challenger Bergamo Challenger Challenger DCN de Cherbourg - Cherbourg Lille Challenger Villena Challenger Nonthaburi 3 Challenger Cuernavaca Challenger Ilkley Challenger Wuxi Challenger Segovia Challenger ATP Open Castilla y Leon - Segovia Matsuyama Challenger Birmingham Challenger Kobe Challenger Pozoblanco Challenger Glasgow Challenger Nur-Sultan Challenger Ismaning Challenger Brest Challenger Villena Challenger Bendigo Challenger Bangkok Challenger Cherbourg Challenger Cordenons Challenger Iasi Challenger Split Challenger Hamburg Challenger Maia Challenger Quimper Challenger Quimper 2 Challenger Potchefstroom 1 Challenger Milan Challenger Prostejov Challenger Estoril Open - Estoril Alicante Challenger Grand Prix Hassan II - Casablanca Estoril Open - Estoril Binghamton Challenger SA Tennis Open - Johannesburg Brasil Open - Costa do Sauipe Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril AEGON Championships - London Catella Swedish Open - Bastad Legg Mason Tennis Classic - Washington Bank Austria Tennis Trophy - Vienna Davidoff Swiss Indoors Basel - Basel Medibank International - Sydney Copa Telmex - Buenos Aires Abierto Mexicano Telcel - Acapulco Estoril Open - Estoril Allianz Suisse Open Gstaad - Gstaad Open Sud de France - Montpellier Open de Tenis Comunidad Valenciana - Valencia Medibank International - Sydney Brasil Open - Costa do Sauipe Abierto Mexicano Telcel - Acapulco Open de Nice Cote d'Azur - Nice Allianz Suisse Open - Gstaad St. Brieuc Challenger VTR Open - Vina del Mar Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Dallas Challenger VTR Open - Vina del Mar Copa Claro - Buenos Aires BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Power Horse Cup - Dusseldorf Millennium Estoril Open - Estoril Genova Challenger Milan Challenger Pilot Pen Tennis - New Haven M15 Sao Bras Alportel Interwetten Austrian Open - Kitzbuhel San Juan Challenger Rio De Janeiro Challenger Buenos Aires Challenger Chicago Challenger Marburg Challenger Medellin Challenger Qatar Exxon Mobil Open - Doha Guayaquil Challenger ATP Studena Croatia Open Umag - Umag BCR Open Romania - Bucharest St. Tropez Challenger Brasil Open - Costa do Sauipe Belgrade Open - Belgrade Grand Prix Hassan II - Casablanca BCR Open Romania - Bucharest Aircel Chennai Open - Chennai Porto Challenger Rome Challenger Rome Challenger Ortisei Challenger Tunis Challenger Las Franquesas del Valles Challenger Estoril Open - Estoril Millennium Estoril Open - Estoril Rome 1 Challenger Open Parc - Lyon Poznan Challenger Grand Prix Hassan II - Casablanca Heilbronn Challenger Pilot Pen Tennis - New Haven Winnipeg Challenger Barcelona Open Banc Sabadell - Barcelona Aircel Chennai Open - Chennai Movistar Open - Santiago Copa Claro - Buenos Aires Napoli Challenger Hong Kong Tennis Open - Hong Kong Estoril Open - Estoril Seoul Challenger AEGON International - Eastbourne Braga Challenger Caltanissetta Challenger Open 13 Provence - Marseille Apia International - Sydney Milan Challenger Brasil Open - Sao Paulo Copa Claro - Buenos Aires Cordenons Challenger Nottingham 3 Challenger AEGON Championships - London Bet-at-home Cup - Kitzbuhel SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Anning Challenger Portugal Open - Oeiras Estoril Open - Estoril Todi Challenger Tata Open Maharashtra - Pune Credit Agricole Suisse Open - Gstaad Glasgow Challenger Segovia Challenger Thionville Challenger Grand Prix Hassan II - Casablanca Pune Challenger Lisbon Challenger Boss Open - Stuttgart Rennes Challenger Brest Challenger Istanbul Challenger Phoenix Challenger Budapest Challenger Seville Challenger Istanbul Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger Parma Challenger Bergamo Challenger Forli Challenger Rome Challenger European Open - Antwerp Antalya Open - Antalya Pozoblanco Challenger Lugano Challenger Nottingham Challenger Moselle Open - Metz Orleans Challenger Alicante Challenger Winston Salem - Winston Salem Tennis Napoli Open - Naples Malaga Challenger Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Open 13 Provence - Marseille Olbia Challenger Barcelona Open Banc Sabadell - Barcelona Brest Challenger Madrid Challenger Open Occitanie - Montpellier Lyon Challenger Lexington Challenger Lugano Challenger Grodzisk Mazowiecki Challenger Orleans Challenger Charlottesville Challenger Quimper Challenger Sony Ericsson Open - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Lille Challenger Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo cinch Championships - London Potchefstroom Challenger Prague II Challenger Ismaning Challenger Porto Challenger Biella 3 Challenger BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Noumea Challenger Phoenix Challenger Poznan Challenger Brasil Open - Sao Paulo Bordeaux Challenger Sony Ericsson Open - Miami Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Open 13 Provence - Marseille Miami Open - Miami Rolex Paris Masters - Paris Dubai Duty Free Tennis Championships - Dubai U.S. Open - New York Open Parc - Lyon Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Miami Open - Miami Tel Aviv Watergen Open - Tel Aviv Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, POR-DEN 4-1 Wimbledon - London French Open - Paris Wimbledon - London U.S. Open (juniors) All Lower level tournaments Internazionali BNL d'Italia - Rome French Open - Paris French Open - Paris French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, 2R, POR-ALG 3-2 St. Tropez Challenger Davis Cup, Group 2, 2R, SCG-POR 5-0 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Wimbledon (juniors) Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 1, 1R, GEO-POR 3-2 French Open (juniors) Australian Open (juniors) Wimbledon - London